#include "zevent/event.hpp"
#include <cstdio>

ZEVT_TYPE(e1);
ZEVT_TYPE(e2);
ZEVT_TYPE(e3);
int main() {
  e1::Connect([] { puts("e1 published\n"); });
  e2::Connect([] { puts("e2 published\n"); });
  e3::Connect([] { puts("e3 published\n"); });

  e1::Connect(e2());
  e1::BiConnect(e3());

  e1::Publish();
  puts("========\n");
  e2::Publish();
  puts("========\n");
  e3::Publish();
  return 0;
}